package cn.lg.soar.flow.api.model;

import cn.lg.soar.flow.api.enums.AuditTypeEnum;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Data
public class AuditLogDTO {

    /** 任务id */
    @ExcelProperty(value = "任务id")
    @Schema(description = "任务id")
    private String taskId;

    /** 任务key */
    @ExcelProperty(value = "任务key")
    @Schema(description = "任务key")
    private String taskKey;

    /** 任务名称 */
    @ExcelProperty(value = "任务名称")
    @Schema(description = "任务名称")
    private String taskName;

    /** 流程实例id */
    @ExcelProperty(value = "流程实例id")
    @Schema(description = "流程实例id")
    private String procInstId;

    /** 任务开始时间 */
    @ExcelProperty(value = "任务开始时间")
    @Schema(description = "任务开始时间")
    private LocalDateTime startTime;

    /** 任务结束时间 */
    @ExcelProperty(value = "任务结束时间")
    @Schema(description = "任务结束时间")
    private LocalDateTime endTime;

    @Schema(description = "任务到期时间")
    private LocalDateTime dueTime;

    /** 审批结果 */
    @ExcelProperty(value = "审批结果")
    @Schema(description = "审批结果")
    private AuditTypeEnum result;

    /** 审批意见 */
    @ExcelProperty(value = "审批意见")
    @Schema(description = "审批意见")
    private String comments;

    /**
     * 审批人
     */
    @Schema(description = "审批人")
    private List<ApproverDTO> approvers;

    /** 审批人id */
    @JsonIgnore
    private Long userId;


}
